草庐IT

php - preg_replace 仅匹配的一部分

全部标签

javascript - 具有事件的渲染部分的后响应不起作用

在ruby​​onrails中,我正在尝试更新2个部分。show.html.erb:"pricelistfilters"%>pricelistfilters.html.erb:#Renderthepageonproperties(andthenewproperties)#......#products.js-->渲染部分的事件$(window).ready(function(){selectionchanges();});functionselectionchanges(){$('#filtersselect').change(function(){//Doingstufftosend

javascript - D3 绘制数据集的选择性部分

我有一个大型时间序列数据集需要绘制图表,我正在尝试使用D3来完成它。我计划让我的图形的x轴为时间,并允许图形在x方向上移动。我想让图表只加载/显示屏幕上当前时间范围内存在的点。例如,如果我的数据集有1-100次,但图形以显示的时间1-10开始,则图形应该只绘制1-10点。然后用户可能会向右移动并查看时间5-15,图表应相应更新。任何人都可以向我解释如何通过d3完成此操作吗?我很难理解从一次加载并立即绘制整个数据集到选择性地绘制数据子集。 最佳答案 我认为您正在寻找selection.filter()功能。例如你可以有:varallN

javascript - 在 RegExp 搜索中有效地找到匹配的组

当我的RegExp有多个捕获组时,我想知道哪个组进行了捕获(或者至少是第一个/最后一个这样的组,如果有多个)。如果您熟悉Python,这基本上等同于re.MatchObject.lastgroup。一些使其更清晰的代码:varre_captures=newRegExp("(\\d+)|(for)|(\\w+)","g");varstr="forme20boxesplease";varresult;while((result=re_captures.exec(str))!==null){console.log(result[0],'at',result.index,result.slic

Javascript反向匹配过程

查看RegExp对象文档,找不到可以满足我要求的方法,或者我只是不够努力。假设我有文本:vartext="§193:AndSomeText§";还有一个RegExp对象:varreg=/§([0-9]+):(.*?)§/;运行reg.match(text);显然会给我这样一个数组:["§193:AndSomeText§","193","AndSomeText"]有没有办法扭转这个过程?这样我就给一个函数一个数组,它具有与RegExp相同数量的匹配组,并返回文本的样子:varreg=/§([0-9]+)§(.*?)§/;vardata=["293","SomeNewText"];vart

javascript - 是否有与 PHP 的 include 等效的 Node.js,以便包含的代码可以访问父文件的变量?

我想将我的Node应用程序拆分成几个单独的文件,以使其更加模块化且更易于维护。但是由于无法像PHP等其他语言那样将文件直接“包含”到当前解析的文件中,因此我的“模块”或“单独文件”不会自动访问脚本中定义的变量“需要”他们。我该怎么做?我正在考虑在我的单独文件中做这样的事情:module.exports=function(stuff){//Inowhaveaccessto'stuff'.}但是有点麻烦。我确定有人已经在我之前解决了这个问题,所以...您有什么建议? 最佳答案 跨模块共享变量的最简单方法是将变量分配给全局命名空间对象。声

javascript - 使用变量名作为其值的一部分 js

在js中设置变量值时可以获取变量名吗?像这样的东西:varjs='';原来是这样js='';上下文并不重要,我知道有很多更长的方法可以做到这一点,但使用最短的方法可能会很棒。 最佳答案 嗯-我能想到的最接近的事情是通过模板创建:Example//usingthissmalltemplatejscodeif(!String.prototype.supplant){String.prototype.supplant=function(o){returnthis.replace(/{([^{}]*)}/g,function(a,b){va

javascript - 如何在 html5/JS 中只预加载音频文件的一部分?

我在一个网页中有多个音频文件。我希望它们都准备好在页面加载后立即播放,但一次完全预加载它们太重且无用。因此,我只想预加载一定数量的音频并加载其余的,前提是它们已播放(类似于我们在YouTube示例中看到的行为)。如何在HTML5页面上执行此操作(可能使用Javascript)? 最佳答案 您可以尝试一些hacky,例如在onload监听器中播放文件的前10%。但是,根据经验,我发现浏览器无论如何只会预加载音频内容的开头。(如果他们预加载任何东西:例如iOS,移动版chrome都拒绝预加载。)例如,在Firefox中,您可以检查HTT

javascript - 选择并删除所有匹配的数据属性

我正在尝试找到一种方法来从页面中删除来自不同类型元素的所有匹配数据属性。我现在循环一个数组,但名称列表太长了,我希望有更好的方法来删除我的自定义数据属性......使用正则表达式模式?//代码vardataArr=['data-myplugin-value','data-myplugin-id',............'data-myplugin-name'];$.each(dataArr,function(i,a){$('['+a+']').removeAttr(a);}); 最佳答案 如果您不介意使用XPath,这是我的解决方

javascript - 如何将javascript对象拆分成更小的部分

我正在尝试对Javascript对象进行JSONify处理,结果却出现“无效的字符串长度”错误。我决定将对象分解成更小的部分,对更小的部分使用JSON.stringify,并将每个部分附加到文件中。我首先将javascript对象转换为数组并将它们拆分为更小的部分。{'key1':[x,y,z],'key2':[p,q,l],......-JSON中原始对象的示例符号。每个字符x,y,z,p,q,l都是base64字符串的缩写,该字符串的长度足以导致字符串长度溢出问题。[['key1',x],['key1',y],['key1',z],['key2',p],......]-数组转换va

javascript - TypeError : str. replace is not a function strange error with vue.js Ajax 调用

我收到一个奇怪的错误:vue-resource.common.jsUncaughtTypeError:str.replaceisnotafunction它似乎与我正在获取一些的ajax调用有关数据:exportdefault{data:()=>({recipes:[]}),ready(){this.$http.get('http://localhost:3000/recipes',{headers:{'Access-Control-Allow-Origin':true}}).then((recipes)=>{this.$set('recipes',recipes)})}};我是vue.